﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Working.Domínio.Instrumentação;

namespace Working.Domínio
{
    public class Domínio
    {
        private CacheDeEntidades cache;

        public static Domínio Instância
        {
            get
            {
                if(instância == null)
                    instância = new Domínio();

                return instância;
            }
        }
        private static Domínio instância = null;

        private Domínio()
        {
            cache = new CacheDeEntidades();
        }

        public T ObterEntidadeDoCache<T>(int oid) where T: Entidade
        {
            return cache.ObterEntidade<T>(oid); 
        }

        public void AdicionarEntidadeAoCache<T>(T entidade) where T: Entidade
        {
            cache.AdicionarEntidade<T>(entidade);
        }
    }
}
